/*
 * linked_list.h
 *
 * Version 1.0
 * Author: rtp
 *
 * Description: linked list header
 *
 */

#ifndef LINKED_LIST_H_
#define LINKED_LIST_H_

struct cell_st
{
	char* content;
	struct cell_st* next;
};

typedef struct cell_st cell;
typedef cell* cell_p;
typedef cell_p list;

//create a new list
list ll_create();

//insert an element in the list
void ll_add(list l, char* value);

//remove an element from the list
void ll_remove(list l, int position);

//retrieve an element
char* ll_get(list l, int position);

//find an element in the list (-1 if not found)
int ll_find(list l, char* value);

//print the hole list
void ll_print(list l);

#endif /* LINKED_LIST_H_ */
